package br.com.ia.struts.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;

import br.com.enovar.trex.struts.form.TRexBaseForm;

public class RegraForm extends TRexBaseForm {

	private Integer codigo;

	private String descricao;

	private Integer ordem;
	
	private VariavelForm variavel;
	
	private Integer operador;
	
	private ValorForm valor;
	
	private Integer cdVariavelConclusao;
	
	private Integer cdValorConclusao;
	
	private String conectivo;
	
	private Integer cdRegraPai;
	
	private Integer codigoItemRegra;

	public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public Integer getOrdem() {
		return ordem;
	}

	public void setOrdem(Integer ordem) {
		this.ordem = ordem;
	}

	public VariavelForm getVariavel() {
		return variavel;
	}

	public void setVariavel(VariavelForm variavel) {
		this.variavel = variavel;
	}

	public Integer getOperador() {
		return operador;
	}

	public void setOperador(Integer operador) {
		this.operador = operador;
	}

	public ValorForm getValor() {
		return valor;
	}

	public void setValor(ValorForm valor) {
		this.valor = valor;
	}

	public Integer getCdVariavelConclusao() {
		return cdVariavelConclusao;
	}

	public void setCdVariavelConclusao(Integer cdVariavelConclusao) {
		this.cdVariavelConclusao = cdVariavelConclusao;
	}

	public Integer getCdValorConclusao() {
		return cdValorConclusao;
	}

	public void setCdValorConclusao(Integer cdValorConclusao) {
		this.cdValorConclusao = cdValorConclusao;
	}

	public String getConectivo() {
		return conectivo;
	}

	public void setConectivo(String conectivo) {
		this.conectivo = conectivo;
	}

	public Integer getCdRegraPai() {
		return cdRegraPai;
	}

	public void setCdRegraPai(Integer cdRegraPai) {
		this.cdRegraPai = cdRegraPai;
	}

	public Integer getCodigoItemRegra() {
		return codigoItemRegra;
	}

	public void setCodigoItemRegra(Integer codigoItemRegra) {
		this.codigoItemRegra = codigoItemRegra;
	}

	@Override
	public void reset(ActionMapping arg0, HttpServletRequest arg1) {
		codigo = null;
		descricao = null;
		ordem = null;
		operador = null;
		cdVariavelConclusao = null;
		cdValorConclusao = null;
		conectivo = null;
		cdRegraPai = null;
		codigoItemRegra = null;
		
		variavel = new VariavelForm();
		variavel.reset(arg0, arg1);
		
		valor = new ValorForm();
		valor.reset(arg0, arg1);
		
		super.reset(arg0, arg1);
	}

	@Override
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		ActionErrors errors = new ActionErrors();

		String param = mapping.getParameter();
		String method = request.getParameter(param);
		if (method.matches("insert|update")) {
			errors = super.validate(mapping, request);
		}

		return errors;
	}

}
